/*
 * Pajaro.h
 *
 *  Created on: 16/10/2012
 *      Author: Ignacio Galvez
 */

#ifndef PAJARO_H_
#define PAJARO_H_

#include "Daniable.h"
#include "Danino.h"



class Pajaro: public Daniable,
public Danino {
public:
	virtual void mover(double ticks);
	virtual void rebotar(double ticks) = 0;
	virtual void serDaniadoPorPajaroRojo();
	virtual void serDaniadoPorPajaroVerde();
	virtual void serDaniadoPorPajaroAzul();
	virtual void serDaniadoPorHuevoBlanco();
	virtual void serDaniadoPorHuevoCodorniz();
	virtual void serDaniadoPorHuevoPoche();
	virtual void serDaniadoPorHuevoReloj();
	virtual void recibirExplosionHuevoBlanco();
	double getPosicionX();
	double getPosicionY();
	void setPosicionX(double x);
	void setPosicionY(double y);
	virtual ~Pajaro();
protected:
	Pajaro(double anguloDeCaida,double normaVelocidadInicial,
			double puntosDeVida, double x, double y, double tiempoInicial);
	double getAnguloDeCaida();
	void   setAnguloCaida(double angulo);
	void   setXinicial(double xInicial);
	void   setYinicial(double yInicial);
	double getXinicial();
	double getYinicial();
	double getTiempoInicial();
	void   setTiempoInicial(double tiempo);
	double getNormaVelocidadInicial();
	void   modificarVelocidadInicial(double factor, double V0);
private:
	double anguloDeCaida;
	double normaVelocidadInicial;
	double posicionX;
	double posicionY;
	double xInicial;
	double yInicial;
	double tiempoInicial;
	static double DANIO_HUEVO_BLANCO;
	static double DANIO_HUEVO_CODORNIZ;
	static double DANIO_HUEVO_POCHE;
	static double DANIO_HUEVO_RELOJ;
	static double EXPLOSION_HUEVO_BLANCO;
};


#endif /* PAJARO_H_ */
